package com.yk;

import java.util.HashMap;
import java.util.Map;

public class MapPractice {
    public static void main(String[] args) {
        Map<String, String> data = new HashMap<>();
        data.put("张三", "B");
        data.put("赵鑫", "A");
        data.put("李四", "C");
        data.put("王五", "B");
        data.put("赵", "A");

        count(data);
    }

    public static void count(Map<String, String> data) {
        /**
         * 1.建立一个新的Map集合
         * 2.遍历data集合
         * 3.将value当做key放入新的集合
         * 4.若A存在，则将A的value+1
         * 5.若A不存在，则将A的value设置为1
         * 6.遍历新的Map集合，打印结果
         */
        Map<String, Integer> resultMap = new HashMap<>();

        data.forEach((k, v) -> {
            //判断v是否存在于resultMap中
            boolean contains = resultMap.containsKey(v);
            if (contains) {
                //若存在，则将v的value+1,并放入resultMap中
                Integer oldCount = resultMap.get(v);
                resultMap.put(v, oldCount + 1);
            } else {
                resultMap.put(v, 1);
            }

        });

        //遍历Map集合，打印结果
        resultMap.forEach((k, v) -> {
            System.out.println(k + ":" + v);
        });
    }
}
